import unittest
from system import System

class TestSystem(unittest.TestCase):
    def setUp(self):
        self.system = System()
        self.system.start()

    def test_lock_panel_and_unlock(self):
        """测试系统在三次密码错误后的锁定与解锁"""
        # 输入错误的密码
        self.system.enter_password('1')
        self.system.enter_password('2')
        self.system.enter_password('3')
        self.assertEqual(self.system.get_state(), "EnteringPassword")
        self.system.enter_password('5')  # 错误密码
        self.assertEqual(self.system.get_state(), "WrongPassword")
        
        self.system.enter_password('1')
        self.system.enter_password('2')
        self.system.enter_password('6') 
        self.system.enter_password('6')  # 错误密码
        self.assertEqual(self.system.get_state(), "WrongPassword")
        
        self.system.enter_password('1')
        self.system.enter_password('2')
        self.system.enter_password('7')  
        self.system.enter_password('7')  # 错误密码
        self.assertEqual(self.system.get_state(), "Idle")

if __name__ == "__main__":
    unittest.main()

